package 行为型模式.命令模式;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description 服务员类， 调用者/请求者（Invoker）角色
 * @Author shallow
 * @Date 2023/3/8 9:57
 */

public class Waitor {
    //持有多个命令对象
    private List<Command> commands = new ArrayList<>();
    public void setCommands(Command cmd){
        //将cmd对象存储到list集合中
        commands.add(cmd);
    }

    //发起命令的功能
    public void orderUp(){
        System.out.println("服务员：新订单来了！");
        //遍历list集合
        commands.stream().forEach(command -> {
            if(command!=null){
                command.execute();
            }
        });
    }
}
